<?php

include "../../lib/start.php";

check_session(AJAX_CALL);
check_permission(ADM_PERM);

$data_evento = format_date($_POST['data_evento'], IT_DATE_STYLE, SQL_DATE_STYLE, "-");
$data_evento .= " ".$_POST['ora_evento'];
$titolo = utf8_encode($_POST['titolo']);
$testo = utf8_encode(nl2br($_POST['testo']));
$id_padre = $_POST['evento_padre'];
$classe = $_POST['classe'];
$modificabile = $pubblico = 0;
$has_sons = 0;
if(isset($_POST['pub']) && $_POST['pub'] == 'on')
	$pubblico = 1;
if(isset($_POST['upr']) && $_POST['upr'] == 'on')
	$modificabile = 1;

switch($_POST['action']){
	case 1:     // inserimento
		$statement = "INSERT INTO eventi (abstract, testo, owner, data_evento, data_modifica, data_inserimento, pubblico, modificabile, id_padre, classe, has_sons) VALUES ('$titolo', '$testo', ".$_SESSION['__user__']->getUID().", '$data_evento', NULL, CURRENT_TIMESTAMP, $pubblico, $modificabile, ".field_null($id_padre, false).", ".field_null($classe, true).", $has_sons)";
		//print $statement;
		$msg = "Evento inserito correttamente";
		break;
	case 2:     // cancellazione
		$statement = "DELETE FROM eventi WHERE id_evento = ".$_POST['_i'];
		//print $statement;
		$msg = "Evento cancellato correttamente";
		break;
	case 3:     // modifica
		$statement = "UPDATE eventi SET abstract = '$titolo', testo = '$testo', data_evento = '$data_evento', data_modifica = CURRENT_TIMESTAMP, pubblico = $pubblico, modificabile = $modificabile, id_padre = ".field_null($id_padre, false).", classe = ".field_null($classe, true).", has_sons = $has_sons WHERE id_evento = ".$_POST['_i'];
		//print $statement;
		$msg = "Evento aggiornato correttamente";
		break;
}
header("Content-type: text/plain");
try{
	$recordset = $db->executeUpdate($statement);
	/*
	 * gestione flag has_sons nell'evento padre
	*/
	if($id_padre != ""){
		if($_POST['funzione'] == 1 || $_POST['funzione'] == 3){
			$upd = "UPDATE eventi SET has_sons = 1 WHERE id_evento = ".$id_padre;
			$r_upd = $db->executeUpdate($upd);
		}
	}
} catch (MySQLException $ex){
	print "ko|".$ex->getMessage()."|".$ex->getQuery();
	exit;
}

print "ok|$msg";
exit;

?>